#ifndef MEMBERS48_H
#define MEMBERS48_H

#include <QMainWindow>
#include "member.h"
#include "QTreeWidgetItem"
#define DEAFULT_FILE_NAME "allmembers.json"

QT_BEGIN_NAMESPACE
namespace Ui {



class Members48;
}
QT_END_NAMESPACE

class Members48 : public QMainWindow
{
    Q_OBJECT

public:
    Members48(QWidget *parent = nullptr);
    ~Members48();
    void initTreeWidget();                                       // 初始化树形控件
    void getMemberList(bool isDiff = true, bool showTip = false);// isDiff 是否比较  showTip 显示提示
    bool saveMemberList(QJsonArray list);                        // 保存成员列表到类属性m_List
    void loadMemberListToTreeWidget(QList<Member> list);         // 从QList<Member>加载成员列表到树形控件
    void searchMemberList();                                     // 搜索成员列表
    void showAllItems();                                         // 显示树形列表所有项
    QList<QTreeWidgetItem*> getAllTreeItems();                   // 获取树形列表所有项
    int m_Total=0;                                               // 成员总数
    QList<Member> m_List;                                        // 获取成员数据存储的位置
    void exportMembersJson(QString url);                         // 导出成员数据
    void importMembersJson(QString url);                         // 导入成员数据
    QJsonObject parseMemberList(QByteArray md);                  // 解析数据
    QString metaData;                                            // 元数据
    void updateMemberList(QByteArray md);                        // 更新成员列表并写出文件
    void diffMemberList(QByteArray md, bool showTip = false);    // 比较本地文件和官网文件人数区别  showTip 比较结果一致是否提示
    void showAboutDialog();                                      // 显示版本信息
    void openGitee();                                            // 打开码云仓库地址
    void copyPocketId();                                         // 复制成员口袋用户ID
    void copySID();                                              // 复制成员SID

signals:
    void fetchMemberListLoaded(QByteArray md);                   // 调用这个信号传递进数据就可以更新当前数据

private slots:
    void onItemDoubleClicked(QTreeWidgetItem *item, int column); // 双击打开微博
    void onCustomContextMenuRequested(const QPoint &pos);        // 右键菜单槽函数
    void openWeiboProfile();                                     // 打开微博主页动作
    void openWebSite();                                          // 打开官网主页

private:
    Ui::Members48 *ui;


protected:

};
#endif // MEMBERS48_H
